package com.smart.reader.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@ApiModel("学生信息视图对象")
@Getter
@Setter
public class StudentInfoVo {
    @ApiModelProperty(value = "学生ID", example = "1")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    
    @ApiModelProperty(value = "学号", example = "2023001", required = true)
    private String studentNo;

    @ApiModelProperty(value = "姓名", example = "张三", required = true)
    private String fullName;
    
    @ApiModelProperty(value = "性别", example = "1", notes = "0:女性,1:男性")
    private Integer sex;
    
    @ApiModelProperty(value = "性别文本", example = "男")
    private String sexText;
    
    @ApiModelProperty(value = "班级ID", example = "1")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long classInfoId;
    
    @ApiModelProperty(value = "班级名称", example = "2023级计算机科学1班")
    private String className;

    @ApiModelProperty(value = "电话号码", example = "13800138000")
    private String phoneNumber;
    
    @ApiModelProperty(value = "人脸ID", example = "face123456")
    private String faceId;

    @ApiModelProperty(value = "创建时间", example = "2023-07-15 10:30:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间", example = "2023-07-15 10:30:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    
    @ApiModelProperty(value = "备注", example = "优秀学生")
    private String description;


}
